[INFO] fetching crate oak-java 0.0.7...
[INFO] testing oak-java-0.0.7 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] extracting crate oak-java 0.0.7 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate oak-java 0.0.7
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oak-java 0.0.7
[INFO] tweaked toml for crates.io crate oak-java 0.0.7 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oak-java 0.0.7 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oak-java 0.0.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded twox-hash v2.1.2
[INFO] [stderr]   Downloaded oak-vfs v0.0.7
[INFO] [stderr]   Downloaded oak-macros v0.0.7
[INFO] [stderr]   Downloaded oak-resolver v0.0.7
[INFO] [stderr]   Downloaded oak-highlight v0.0.7
[INFO] [stderr]   Downloaded oak-hover v0.0.7
[INFO] [stderr]   Downloaded oak-lsp v0.0.7
[INFO] [stderr]   Downloaded oak-core v0.0.7
[INFO] [stderr]   Downloaded oak-folding v0.0.7
[INFO] [stderr]   Downloaded oak-navigation v0.0.7
[INFO] [stderr]   Downloaded oak-pretty-print v0.0.7
[INFO] [stderr]   Downloaded oak-semantic-search v0.0.7
[INFO] [stderr]   Downloaded oak-symbols v0.0.7
[INFO] [stderr]   Downloaded oak-mcp v0.0.7
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.40
[INFO] [stderr]   Downloaded zerocopy v0.8.40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a667bdfa619ccd38837ea924f72482e37721d0f063b30aaf54490360d1006bd4
[INFO] running `Command { std: "docker" "start" "-a" "a667bdfa619ccd38837ea924f72482e37721d0f063b30aaf54490360d1006bd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a667bdfa619ccd38837ea924f72482e37721d0f063b30aaf54490360d1006bd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a667bdfa619ccd38837ea924f72482e37721d0f063b30aaf54490360d1006bd4", kill_on_drop: false }`
[INFO] [stdout] a667bdfa619ccd38837ea924f72482e37721d0f063b30aaf54490360d1006bd4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8bd1b897ead5d98dd1cc68df037328b626ebd3f4b4c0c5030759a9ae2cf47e2b
[INFO] running `Command { std: "docker" "start" "-a" "8bd1b897ead5d98dd1cc68df037328b626ebd3f4b4c0c5030759a9ae2cf47e2b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling twox-hash v2.1.2
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling oak-core v0.0.7
[INFO] [stderr]    Compiling oak-java v0.0.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `token_type::JavaTokenType`
[INFO] [stdout]   --> src/parser/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     lexer::{JavaLexer, token_type::JavaTokenType},
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrattParser`
[INFO] [stdout]   --> src/parser/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pratt::{Pratt, PrattParser},
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct JavaLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 14 |     config: &'config JavaLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaLexer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skip_trivia` is never used
[INFO] [stdout]   --> src/parser/mod.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl<'config> JavaParser<'config> {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn skip_trivia<'a, S: Source + ?Sized>(&self, state: &mut State<'a, S>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.36s
[INFO] running `Command { std: "docker" "inspect" "8bd1b897ead5d98dd1cc68df037328b626ebd3f4b4c0c5030759a9ae2cf47e2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bd1b897ead5d98dd1cc68df037328b626ebd3f4b4c0c5030759a9ae2cf47e2b", kill_on_drop: false }`
[INFO] [stdout] 8bd1b897ead5d98dd1cc68df037328b626ebd3f4b4c0c5030759a9ae2cf47e2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 75957500470d8dc9e81cf01ea697f4a714771f62e74b99f133597ae0a2d742d0
[INFO] running `Command { std: "docker" "start" "-a" "75957500470d8dc9e81cf01ea697f4a714771f62e74b99f133597ae0a2d742d0", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `token_type::JavaTokenType`
[INFO] [stdout]   --> src/parser/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     lexer::{JavaLexer, token_type::JavaTokenType},
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrattParser`
[INFO] [stdout]   --> src/parser/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pratt::{Pratt, PrattParser},
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct JavaLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 14 |     config: &'config JavaLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaLexer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oak-java v0.0.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `skip_trivia` is never used
[INFO] [stdout]   --> src/parser/mod.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl<'config> JavaParser<'config> {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn skip_trivia<'a, S: Source + ?Sized>(&self, state: &mut State<'a, S>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `token_type::JavaTokenType`
[INFO] [stdout]   --> src/parser/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     lexer::{JavaLexer, token_type::JavaTokenType},
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrattParser`
[INFO] [stdout]   --> src/parser/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pratt::{Pratt, PrattParser},
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lexer/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct JavaLexer<'config> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 14 |     config: &'config JavaLanguage,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JavaLexer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `skip_trivia` is never used
[INFO] [stdout]   --> src/parser/mod.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl<'config> JavaParser<'config> {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn skip_trivia<'a, S: Source + ?Sized>(&self, state: &mut State<'a, S>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.02s
[INFO] running `Command { std: "docker" "inspect" "75957500470d8dc9e81cf01ea697f4a714771f62e74b99f133597ae0a2d742d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75957500470d8dc9e81cf01ea697f4a714771f62e74b99f133597ae0a2d742d0", kill_on_drop: false }`
[INFO] [stdout] 75957500470d8dc9e81cf01ea697f4a714771f62e74b99f133597ae0a2d742d0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1d8eed8552571fd93a685e89ee916764446cf4cc6c53840538836ed5202f9d2a
[INFO] running `Command { std: "docker" "start" "-a" "1d8eed8552571fd93a685e89ee916764446cf4cc6c53840538836ed5202f9d2a", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `token_type::JavaTokenType`
[INFO] [stderr]   --> src/parser/mod.rs:12:24
[INFO] [stderr]    |
[INFO] [stderr] 12 |     lexer::{JavaLexer, token_type::JavaTokenType},
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PrattParser`
[INFO] [stderr]   --> src/parser/mod.rs:19:24
[INFO] [stderr]    |
[INFO] [stderr] 19 |         pratt::{Pratt, PrattParser},
[INFO] [stderr]    |                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/lexer/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct JavaLexer<'config> {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 14 |     config: &'config JavaLanguage,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `JavaLexer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `skip_trivia` is never used
[INFO] [stderr]   --> src/parser/mod.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl<'config> JavaParser<'config> {
[INFO] [stderr]    | --------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     fn skip_trivia<'a, S: Source + ?Sized>(&self, state: &mut State<'a, S>) {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `oak-java` (lib) generated 4 warnings (run `cargo fix --lib -p oak-java` to apply 2 suggestions)
[INFO] [stderr] warning: `oak-java` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oak_java-407cea447d9dd36e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/error_recovery_test.rs (/opt/rustwide/target/debug/deps/error_recovery_test-fa12c2eb0107478c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_error_recovery ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-56367ed6a24b839f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_java_parser ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/modern_features_test.rs (/opt/rustwide/target/debug/deps/modern_features_test-997f992cdafde9ef)
[INFO] [stderr]      Running tests/performance.rs (/opt/rustwide/target/debug/deps/performance-74da05a0621d5d94)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_java_parser_performance ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oak_java
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/readme.md - (line 13) ... FAILED
[INFO] [stdout] test src/parser/mod.rs - parser::JavaParser (line 38) ... FAILED
[INFO] [stdout] test src/readme.md - (line 75) ... FAILED
[INFO] [stdout] test src/readme.md - (line 65) ... FAILED
[INFO] [stdout] test src/readme.md - (line 110) ... FAILED
[INFO] [stdout] test src/readme.md - (line 58) ... FAILED
[INFO] [stdout] test src/readme.md - (line 138) ... FAILED
[INFO] [stdout] test src/lib.rs - language (line 21) ... ok
[INFO] [stdout] test src/parser/mod.rs - parser::JavaParser<'config>::parse (line 127) ... FAILED
[INFO] [stdout] test src/parser/mod.rs - parser::JavaParser<'config>::new (line 71) ... ok
[INFO] [stdout] test src/readme.md - (line 194) ... ok
[INFO] [stdout] test src/lib.rs - ast (line 52) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/readme.md - (line 13) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]   --> src/readme.md:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use oak_java::{JavaParser, SourceText, JavaLanguage};
[INFO] [stdout]    |                            ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]   --> src/readme.md:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let result = parser.parse(&source);
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]    |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 13 + use oak_core::parser::Parser;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `parse_type` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let result = parser.parse_type(&source);
[INFO] [stdout]    |                              +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser/mod.rs - parser::JavaParser (line 38) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]   --> src/parser/mod.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 | use oak_java::{JavaLanguage, JavaParser, SourceText};
[INFO] [stdout]    |                                          ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]   --> src/parser/mod.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | let result = parser.parse(&source);
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]    |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 37 + use oak_core::parser::Parser;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `parse_type` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 53 | let result = parser.parse_type(&source);
[INFO] [stdout]    |                          +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/readme.md - (line 75) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]   --> src/readme.md:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 | use oak_java::{JavaParser, SourceText, JavaLanguage};
[INFO] [stdout]    |                            ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this struct instead:
[INFO] [stdout]            oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]   --> src/readme.md:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let result = parser.parse(&source);
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]    |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout] 74 + use oak_core::parser::Parser;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `parse_type` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let result = parser.parse_type(&source);
[INFO] [stdout]    |                              +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/readme.md - (line 65) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `result` in this scope
[INFO] [stdout]   --> src/readme.md:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 | for diag in result.diagnostics() {
[INFO] [stdout]    |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/readme.md - (line 110) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]    --> src/readme.md:112:28
[INFO] [stdout]     |
[INFO] [stdout] 112 | use oak_java::{JavaParser, SourceText, JavaLanguage};
[INFO] [stdout]     |                            ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]    --> src/readme.md:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let result = parser.parse(&source);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout]  69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]     |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 109 + use oak_core::parser::Parser;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `parse_type` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let result = parser.parse_type(&source);
[INFO] [stdout]     |                              +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/readme.md - (line 58) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `parser` in this scope
[INFO] [stdout]   --> src/readme.md:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 | let new_result = parser.reparse(&new_source, &old_result);
[INFO] [stdout]    |                  ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `new_source` in this scope
[INFO] [stdout]   --> src/readme.md:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 | let new_result = parser.reparse(&new_source, &old_result);
[INFO] [stdout]    |                                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `old_result` in this scope
[INFO] [stdout]   --> src/readme.md:60:47
[INFO] [stdout]    |
[INFO] [stdout] 60 | let new_result = parser.reparse(&new_source, &old_result);
[INFO] [stdout]    |                                               ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/readme.md - (line 138) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]    --> src/readme.md:140:28
[INFO] [stdout]     |
[INFO] [stdout] 140 | use oak_java::{JavaParser, SourceText, JavaLanguage};
[INFO] [stdout]     |                            ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]    --> src/readme.md:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let result = parser.parse(&source);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout]  69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]     |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 137 + use oak_core::parser::Parser;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `parse_type` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let result = parser.parse_type(&source);
[INFO] [stdout]     |                              +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser/mod.rs - parser::JavaParser<'config>::parse (line 127) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oak_core::parser::DefaultParseCache`
[INFO] [stdout]    --> src/parser/mod.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | use oak_core::parser::DefaultParseCache;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `DefaultParseCache` in `parser`
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `oak_java::SourceText`
[INFO] [stdout]    --> src/parser/mod.rs:130:42
[INFO] [stdout]     |
[INFO] [stdout] 130 | use oak_java::{JavaLanguage, JavaParser, SourceText};
[INFO] [stdout]     |                                          ^^^^^^^^^^ no `SourceText` in the root
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this struct instead:
[INFO] [stdout]             oak_core::SourceText
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `parse` found for struct `JavaParser<'config>` in the current scope
[INFO] [stdout]    --> src/parser/mod.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 | let result = parser.parse(&source, &[], &mut cache);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/oak-core-0.0.7/src/parser/mod.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout]  69 |     fn parse<'a, S: Source + ?Sized>(&self, text: &'a S, edits: &[TextEdit], cache: &'a mut impl ParseCache<L>) -> ParseOutput<'a, L>;
[INFO] [stdout]     |        ----- the method is available for `JavaParser<'_>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `parse_type` with a similar name, but with different arguments
[INFO] [stdout]    --> src/parser/parse_declaration.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     fn parse_type<'a, S: Source + ?Sized>(&self, state: &mut State<'a, S>) -> Result<(), OakError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `Parser` which provides `parse` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 126 + use oak_core::Parser;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - ast (line 52) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `Type` in this scope
[INFO] [stdout]   --> src/lib.rs:68:38
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         return_type: Type::Void,
[INFO] [stdout]    |                                      ^^^^ use of undeclared type `Type`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 54 + use std::mem::type_info::Type;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Type` in this scope
[INFO] [stdout]   --> src/lib.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                   ty: Type::Array(Box::new(Type::Reference("String".to_string()))),
[INFO] [stdout]    |                           ^^^^ use of undeclared type `Type`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 54 + use std::mem::type_info::Type;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Type` in this scope
[INFO] [stdout]   --> src/lib.rs:72:58
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                   ty: Type::Array(Box::new(Type::Reference("String".to_string()))),
[INFO] [stdout]    |                                                ^^^^ use of undeclared type `Type`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 54 + use std::mem::type_info::Type;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Block` in this scope
[INFO] [stdout]   --> src/lib.rs:76:36
[INFO] [stdout]    |
[INFO] [stdout] 76 |                         body: Some(Block {
[INFO] [stdout]    |                                    ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these variants
[INFO] [stdout]    |
[INFO] [stdout] 54 + use crate::LambdaBody::Block;
[INFO] [stdout]    |
[INFO] [stdout] 54 + use crate::Statement::Block;
[INFO] [stdout]    |
[INFO] [stdout] 54 + use oak_java::ast::LambdaBody::Block;
[INFO] [stdout]    |
[INFO] [stdout] 54 + use oak_java::ast::Statement::Block;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `oak_java::JavaRoot` has no field named `package`
[INFO] [stdout]   --> src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         package: Some(PackageDeclaration { name: "com.example".to_string() }),
[INFO] [stdout]    |         ^^^^^^^ `oak_java::JavaRoot` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `items`
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `span` in initializer of `oak_java::ast::PackageDeclaration`
[INFO] [stdout]   --> src/lib.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |         package: Some(PackageDeclaration { name: "com.example".to_string() }),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^ missing `span`
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `oak_java::JavaRoot` has no field named `imports`
[INFO] [stdout]   --> src/lib.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         imports: vec![],
[INFO] [stdout]    |         ^^^^^^^ `oak_java::JavaRoot` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `items`
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `oak_java::JavaRoot` has no field named `types`
[INFO] [stdout]   --> src/lib.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         types: vec![
[INFO] [stdout]    |         ^^^^^ `oak_java::JavaRoot` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `items`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `TypeDeclaration` in this scope
[INFO] [stdout]   --> src/lib.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TypeDeclaration::Class(ClassDeclaration {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ use of undeclared type `TypeDeclaration`
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 62 -             TypeDeclaration::Class(ClassDeclaration {
[INFO] [stdout] 62 +             EnumDeclaration::Class(ClassDeclaration {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Modifier` in this scope
[INFO] [stdout]   --> src/lib.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 modifiers: vec![Modifier::Public],
[INFO] [stdout]    |                                 ^^^^^^^^ use of undeclared type `Modifier`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ClassMember` in this scope
[INFO] [stdout]   --> src/lib.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     ClassMember::Method(MethodDeclaration {
[INFO] [stdout]    |                     ^^^^^^^^^^^ use of undeclared type `ClassMember`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Modifier` in this scope
[INFO] [stdout]   --> src/lib.rs:67:41
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         modifiers: vec![Modifier::Public, Modifier::Static],
[INFO] [stdout]    |                                         ^^^^^^^^ use of undeclared type `Modifier`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Modifier` in this scope
[INFO] [stdout]   --> src/lib.rs:67:59
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         modifiers: vec![Modifier::Public, Modifier::Static],
[INFO] [stdout]    |                                                           ^^^^^^^^ use of undeclared type `Modifier`
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `oak_java::ast::MethodDeclaration` has no field named `params`
[INFO] [stdout]   --> src/lib.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                         params: vec![
[INFO] [stdout]    |                         ^^^^^^ `oak_java::ast::MethodDeclaration` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `type_parameters`, `annotations`, `parameters`, `throws`, `is_static`, `span`
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `oak_java::ast::Parameter` has no field named `ty`
[INFO] [stdout]   --> src/lib.rs:72:33
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                   ty: Type::Array(Box::new(Type::Reference("String".to_string()))),
[INFO] [stdout]    |                       ^^ `oak_java::ast::Parameter` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `type`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `StringLiteral` found for enum `oak_java::ast::Expression` in the current scope
[INFO] [stdout]   --> src/lib.rs:81:65
[INFO] [stdout]    |
[INFO] [stdout] 81 | ...                   arguments: vec![Expression::StringLiteral("Hello, Java!".to_string())],
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^ variant or associated item not found in `oak_java::ast::Expression`
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `annotations`, `extends`, `implements` and 2 other fields in initializer of `oak_java::ast::ClassDeclaration`
[INFO] [stdout]   --> src/lib.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TypeDeclaration::Class(ClassDeclaration {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ missing `annotations`, `extends`, `implements` and 2 other fields
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0422, E0433, E0560, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - ast (line 52)
[INFO] [stdout]     src/parser/mod.rs - parser::JavaParser (line 38)
[INFO] [stdout]     src/parser/mod.rs - parser::JavaParser<'config>::parse (line 127)
[INFO] [stdout]     src/readme.md - (line 110)
[INFO] [stdout]     src/readme.md - (line 13)
[INFO] [stdout]     src/readme.md - (line 138)
[INFO] [stdout]     src/readme.md - (line 58)
[INFO] [stdout]     src/readme.md - (line 65)
[INFO] [stdout]     src/readme.md - (line 75)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 9 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.64s; merged doctests compilation took 0.23s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "1d8eed8552571fd93a685e89ee916764446cf4cc6c53840538836ed5202f9d2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d8eed8552571fd93a685e89ee916764446cf4cc6c53840538836ed5202f9d2a", kill_on_drop: false }`
[INFO] [stdout] 1d8eed8552571fd93a685e89ee916764446cf4cc6c53840538836ed5202f9d2a
